import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);
import vuexPersist from "vuex-persist";

export default new Vuex.Store({
  state: {
    shopcar: [],
  },
  mutations: {
    // add(state, item) {
    //   let arr = state.shopcar.filter((i) => {
    //     return i._id == item._id;
    //   });
    //   if (arr.length > 0) {
    //     // item.num++; 错的
    //     // 在这里不应该是让item++ 而是让购物车里的这条数据的num++
    //     state.shopcar.forEach((i) => {
    //       if (i._id == item._id) {
    //         i.num++;
    //       }
    //     });
    //     console.log(item);
    //   } else {
    //     item.num = 1;
    //     //第一次添加购物车 给一个初始的num 为1
    //     state.shopcar.push(item);
    //   }
    // },
    //添加购物车

    add(state, i) {
      let flag = false;
      //flag的真假 代表了这个商品i 存在不存在 两种状态

      state.shopcar.forEach((item) => {
        if (item._id == i._id) {
          item.num++;
          flag = true;
        }
      });

      if (flag == false) {
        i.num = 1;
        state.shopcar.push(i);
      }
    },
    //添加 通过一个变量的两种状态 代表存在不存在
    change() {},

    removeall(state, result) {
      state.shopcar = state.shopcar.filter((item) => {
        return result.includes(item) == false;
      });
      //把不在result下的商品（不删的）留下来
    },
  },
  actions: {},
  modules: {},
  plugins: [
    new vuexPersist({
      storage: window.localStorage,
    }).plugin,
  ],
  //插件 配置持久化插件
});
